Process for implementing a method for the on-line sale of software product use licenses through a data network, and software component which allows carrying out said process

ABSTRACT

Online sale of software product use licenses through a data network by offering software products (SOFT) through vendor sites, purchasing a license on-line on one of said vendor sites, and activating said license on-line by a different licensing site. A specific component (COMP) is provided with the software product (SOFT) and identifying data (IDV) of the vendor site are transmitted during the download of the software product (SOFT). When the component (COMP) is executed in an equipment, the component (COMP) locally accesses said data (IDV) and identifying data (IDL) of the licensing site and activates the license by setting up an on-line communication with the licensing site.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is related to and claims priority to SpanishApplication No. 200602849 filed Nov. 10, 2006 and is incorporated byreference herein.

BACKGROUND

1. Field

The invention is included in the field of on-line sales of softwareproducts through a data network, for example, the Internet.

According to an aspect of the embodiments, a process, including anapparatus and computer readable medium thereof, of on-line sale ofsoftware product use licenses through a data network, are provided by:

-   -   offering online each of said software products to be downloaded        online, by a plurality of vendor sites;    -   offering for purchase online a use license for one of said        software products offered by one of said vendor sites and        downloaded on-line; and    -   authorizing activation of said use license on-line by a        licensing site different from said vendor sites.

The embodiments also comprise a software component which allows carryingout said process, including the apparatus and the computer readablemedium thereof.

In the sense of this description and of the attached claims, softwareproduct refers to a product formed by a set of instructions which can beloaded in the memory of a computer and can be executed individually orin combination with another software product. According to thisdefinition, a computer program, an installation program installing aprogram in the computer, a package for updating a computer program, aninstalling file downloading a computer program or an updating thereofon-line, a computer program library, etc. are examples of softwareproducts.

A site refers to any computer installation associated with a datanetwork service providing a virtual site connected to the data networkand able to exchange information and services on-line with other sitesthrough said data network. According to an aspect of an embodiment, whenthe data network is Internet, the vendor sites and licensing sites canbe websites comprising a main webpage identified by a URL address.

A software component is understood to refer to a set of instructionswhich can be loaded in the memory of a computer and incorporated in asoftware product to be executed together with the latter and providespecific functions. According to this definition, a dynamic library, aclass or set of classes, a control or class with a graphic interface, aset of functions or any other type of software module are examples ofsoftware components.

2. Description of the Related Art

Software manufacturing companies currently sell their software productsboth by direct sales from their own websites and by indirect salesthrough their distributors.

In the case of direct sales, the purchaser usually downloads a softwareproduct from the software company's website and pays for and obtains ause license on-line on said website. Another commonly used optionconsists of the purchaser ordering the software product on-line on thecompany's website and the latter sending the software product by mail inthe form of a CD or a DVD packed in a box containing a serial number forobtaining a use license.

Indirect sales through distributors allow a software company to multiplyits sales channels and drastically reduce or even eliminate its ownsales structure. Currently, when the sale is carried out indirectlythrough a shop or distributor, the software product is distributed inthe form of a physical carrier, such as a CD or a DVD, packed in a boxcontaining a serial number for activating a use license. Thisdistribution in the form of a physical product is not very efficientcompared to the on-line downloading of the software product from awebsite because it uses human and energy resources and raw materials.

Other on-line sales systems are known in which a software companyadvertises its software products on several independent websites whichare not connected to it. The purchaser visits one of those websites,selects one of the advertised software products and is thenautomatically redirected to the software manufacturing company's websitewhere the purchaser can acquire the software product on-line, like inthe case of a direct sale set forth previously. In compensation, thesoftware manufacturing company pays the owner of the independent websitea commission for each forwarding to its own website. These sales systemsare not indirect sales systems through distributors, rather they aresimilar to the case of a direct sale set forth previously, with the onlydifference that they allow advertising the products with a greater reachthrough independent websites. The software manufacturing companycontinues to support on its own website the necessary structure forcarrying out the whole sales process, including the structure allowingdownloading the software product, the payment for and the granting of ause license.

SUMMARY

The applicant has designed a new method for the on-line sale of softwareproducts through a data network in the form of a method, an apparatusand computer readable medium thereof, for the on-line sale of uselicenses for the software products.

The new method of on-line sale designed by the applicant combines theadvantages of indirect sales through distributors (multiplication ofsales channels and reduction or elimination of its own sales structure)with the advantages of direct sales (the possibility of delivering thesoftware product on-line, without a physical carrier).

This new method of sale is based on separating, on different sites (forexample different websites), the process for acquiring the softwareproduct, understood as the process by which the purchaser carries out acommercial transaction for acquiring a use license for said softwareproduct, from the process for activating said use license for thesoftware product, according to which the purchaser obtains the serialnumber, keys or any other type of data or program allowing the purchaserto use the software product in a certain computer or computers.

According to this new method, each software product is offered by aplurality of vendor sites for its on-line acquisition from anacquisition site, and the process for activating a use license for thesoftware is carried out in a licensing site different from said vendorsites. According to this method, the on-line acquisition of the softwareproduct includes an on-line download of said software product as well asthe on-line purchase of a use license on the vendor site which offeredthe software product. The software product can be downloaded directlyfrom the vendor site itself offering said software product or from adownloading site associated to said vendor site. The use license ispurchased on said vendor site, at the time of the download of thesoftware product or afterwards, when it is necessary to obtain a uselicense for said software product. Once the use license has been paidfor, an on-line communication is set up with the licensing site in orderto activate it. Thus, in the sense of this description and of theattached claims, it must be understood that the use license which ispurchased on said vendor site is an inactive use license, which remainsinactive until the activation thereof by said licensing site. In otherwords, the purchased use license does not authorize use of the softwareproduct until the activation of said use license by the licensing site.

When the data network in which this method is implemented is Internet,the licensing site is normally the website of a software manufacturingcompany and the vendor sites are websites of distribution companieswhich can be independent of the manufacturing company. The advantage ofthis new method is that the software manufacturing company multipliesthe range for spreading its software products and at the same time it isreleased from the obligation of having to manage the downloading and thepayment for its software product.

Said new method provides that the purchaser can purchase the use licenseon-line on the vendor site at the same time the purchaser downloads thesoftware product and, subsequently or simultaneously, carry out theprocess for activating the use license by communicating with thelicensing site. It also provides that the purchaser can download ademonstration version of the software product from the vendor site thatcan only be used in a trial period after which it is necessary to obtaina use license. In this case, the use license is purchased from thevendor site on-line after downloading the software product, at the timein which the purchaser decides to purchase the use license, and then thepurchaser can carry out the process for activating the license bycommunicating with the licensing site.

In both cases, after the distribution companies have collected paymentmade by the purchaser, they pay an agreed amount to the manufacturingcompany for the sale of the use license for the software product.

Said new method also provides an especially advantageous configurationin which a supervising entity is created which, through a supervisingsite which can set up on-line communications with the acquisition site,the vendor site and the licensing site, ensures that the sales processis carried out in suitable conditions. A manufacturing company and adistribution company can thus register in the supervising entity anagreement according to which the former authorizes the latter to offerits software product under certain conditions. The manufacturing companycan withdraw its authorization in the event of non-compliance with theagreement. The supervising entity can also register and authorize theuser purchasers of the system. Likewise, the supervising entity canintervene in the different sales processes to ensure that they arecarried out in suitable conditions; for example, it can verify that thedistribution company is authorized by the manufacturing company to sellthe product, that the distribution company pays the manufacturingcompany the part specified in the agreement for the sale of softwareproducts, that the purchaser is a registered and authorized user, thatthe manufacturing company really has the power to grant use licenses forthe software product, etc.).

The implementation of this new method for the on-line sale of softwareproducts, or more specifically the method for the on-line sale of uselicenses for software products, has a series of technical problems whichmake it difficult to carry out.

In the first place, after having downloaded the software product on-linefrom the vendor site offering it or from a downloading site associatedto the latter, the method requires that said vendor site can beidentified in a reliable manner. Furthermore, this identificationinformation of the vendor site must be available at the time that theend user decides to purchase the use license for the software productthe purchaser has downloaded, a time which may not coincide with thedownload of the software product, but with the installation of thelatter in equipment or with the expiration date of a demonstrationversion of the software product or with the expiration date of thetemporary use license purchased previously.

Furthermore, the possibility of identifying the vendor site before theactivation of the use license is essential because the licensing sitehas to be able to collect from said vendor site the part of the salecorresponding to it, but it must also have the certainty that theidentified vendor site is really the one who has carried out the saleand is an authorized site. It is also necessary to be able to assure thepurchaser that the purchaser will be able to activate the use license onthe licensing site after purchasing it on a vendor site.

Secondly, the method requires a standard implementation that can begeneralized for all types of software products. It must specifically beprevented that a licensing site which wants to sell its softwareproducts through this method has to adapt a software product for eachvendor site.

One example purpose of the invention is to provide a process forimplementing said new method of on-line sale designed by the applicant,which allows providing the licensing site, in a safe and effectivemanner, with the identifying data of the vendor site which has offeredthe software product for its on-line download and in which a use licensehas been purchased, such that the identifying data of the vendor sitecan be provided at the time in which the end user needs to activate theuse license for the software product, and all of the above such that alicensing site can distribute its software product according to thismethod of sale without needing to adapt the software product for eachvendor site.

The embodiments can be achieved by a process (including an apparatus andcomputer readable media thereof) of an on-line sale by:

-   -   incorporating a software component to each of said software        products offered by a vendor site, said software component        executable together with said software product and managing the        activation of a use license for said software product;    -   associating a transmission of identifying data of the vendor        site offering said software product to each of said on-line        downloading-process of one of said software products;    -   wherein said software component, when executed together with        said software product in an equipment, is able to locally access        said identifying data of the vendor site and to access        identifying data of the licensing site, and launches a process        for activating said use license for the software product        comprising setting up an on-line communication with said        licensing site during which said software component obtains from        said licensing site activation data necessary for activating        said use license.

The technical problems set forth are solved due to the fact that theidentifying data of the vendor site are transferred during the softwareproduct downloading process, and to the fact that the software productincorporates said software component, which does not need to becustomized for each vendor site, and is able to locally retrieve, in theequipment where the software product is being executed, the identifyingdata of the vendor site and of the licensing site. This solution furtherallows preserving the own or existing copy protection system of existingsoftware products, given that the component can be incorporated in thesoftware product and executed without interfering with said protectionsystem. Nevertheless, as will be seen below in the description ofseveral embodiments of the invention, the process for activating the uselicense applied by the component is by itself a copy protection system.

When the data network in which the method of sale according to theinvention is Internet, the identifying data of the vendor site which aretransmitted during the downloading process comprise the location of saidvendor site in the network in the form of its URL address.

In the process according to the invention, setting up a communicationbetween two sites must be understood as including both a directcommunication between the two sites and an indirect communicationthrough an intermediate site. Thus, for example, the communications setup by the software component with the vendor site or with the licensingsite, from the equipment in which the software product is installed, canbe carried out through an intermediate site without this affecting theprinciple of the invention. Indeed, what is important is that thesoftware component locally accesses identifying data of the vendor siteand of the licensing site, and from this data it is able to locate thesesites in the network on one hand and on the other hand to provide thelicensing site with data referring to the vendor site through which thedownload has been carried out and in which a use license has beenpurchased. The software component preferably communicates directly withthe vendor site and directly with the licensing site. However, it can beprovided that in the process for activating the license, the softwarecomponent communicates directly with the vendor site, it provides itwith the identifying data of the licensing site and then thecommunication with the licensing site is carried out directly throughthe vendor site. In this case, the process for activating the licensewould be carried out in the vendor site, but it is really the licensingsite which is providing on-line the necessary data for activating thelicense through the vendor site. On the contrary, it can be providedthat the software component communicates directly with the licensingsite and that the communication with the vendor site to make thepurchase is carried out through the licensing site. As will be seenbelow, it can also be provided that a supervising site intervenes as anintermediary in the different on-line communications.

The process according to the invention provides that the identifyingdata of the licensing site can be incorporated in the software productor in the software component. This last solution offers the advantagethat the software manufacturing company can have a licensing sitedifferent from its main site, therefore the management of the former isfacilitated. To that end, the software product incorporates therein, asusual, identifying data including the URL address of the main webpage ofsaid company, whereas the software component incorporates therein theidentifying data of the licensing site. Another advantage is that asingle software component serves to integrate the identifying data ofthe licensing site in all the software products.

Preferably, after obtaining said activation data from the licensingsite, the software component activates a use license for said softwareproduct. Therefore, the entire process for activating the license,leading to the release of the software product so that it can be used,is advantageously done by the software component itself.

Preferably, said on-line purchase on a vendor site of a use license forthe software product preferably comprises a transmission of a purchasereceipt from said vendor site, and when said software component isexecuted in said equipment, it locally accesses said purchase receiptand transmits it to the licensing site during the on-line communicationduring which the software component obtains said activation data fromsaid licensing site. A guarantee that the purchase has been made on oneof the authorized vendor sites is thus offered to the licensing site ina particularly efficient and robust manner. The purchase receiptadvantageously includes identifying data of the vendor site. Saidon-line purchase also preferably comprises setting up an on-linecommunication between said vendor site and said licensing site, duringwhich said vendor site transmits a purchase receipt to said licensingsite. In this way, the licensing site knows that the use license hasbeen purchased and can claim payment of its corresponding part, withoutneeding to wait until the purchaser had installed the software productin an equipment.

In one embodiment of the process according to the invention, anacquisition site sets up an on-line communication with one of saidvendor sites, during which said on-line software product downloadingprocess as well as on-line purchase of the use license for the softwareproduct are carried out. This embodiment generally corresponds to thecase in which a purchaser downloads a final commercial version of thesoftware product, i.e. a version with no demonstration period, insteadof a demonstration version and then the use license must be purchasedtogether with the download. The purchaser obtains the activation of theuse license when the software product is installed, when the softwarecomponent communicates with the licensing site during the process foractivating the license.

In another embodiment, which is generally applied to the case in which apurchaser downloads a demonstration version of the software product,when the software component is executed in said equipment, it locallyaccesses the identifying data of the vendor site and sets up an on-linecommunication with said vendor site, during which said softwarecomponent operates the on-line purchase of the use license of saidsoftware product. Therefore, the software component only launches theprocess for the on-line purchase of a use license when the user sodecides, for example, by responding to an invitation of the softwarecomponent itself when the test period of the demonstration version hasconcluded. Preferably, when the software component is executed in saidequipment, it sets up an on-line communication with said licensing site,during which it communicates said identifying data of the vendor site tosaid licensing site so that said licensing site authorizes the on-linepurchase of the software product use license on said vendor site,therefore the purchaser has the certainty that the sale is authorized bythe licensing site and therefore the purchaser will be able tosubsequently activate the use license.

Several solutions according to the invention can be provided fortransmitting the identifying data of the vendor site. In a firstsolution, said identifying data are introduced in a downloadable filewhich is downloaded by the acquisition site together with the softwareproduct during the downloading process in the on-line communication setup by the acquisition site with the vendor site. In a preferred secondsolution, the software product is contained in a single downloadablefile which is downloaded by the acquisition site during the downloadingprocess, in the on-line communication set up by the acquisition sitewith the vendor site, and the transmission of identifying data of thevendor site is carried out by introducing said identifying data as fileproperties metadata of said downloadable file. Introducing saididentifying data of the vendor site as file properties metadata of saiddownloadable file can be done in each of the vendor sites before thesoftware product downloading process, but it is preferably done at thetime in which the acquisition site downloads said downloadable fileduring the downloading process. Another solution includes thetransmission of identifying data of the vendor site by transmitting acode to a user operating the software product downloading process, saidcode being subsequently provided to the software component when it isexecuted in said equipment. This code can be provided, for example, bymeans of an on-screen display or by sending it by e-mail.

In an advantageous embodiment, the intervention of a single supervisingsite, different from the licensing sites and from the vendor sites, isprovided. Said single supervising site intervenes as an intermediary inthe different communications between the sites participating in theon-line sale, for the purpose of ensuring that said sale is carried outin suitable conditions. The software product downloading process from avendor site can thus comprise setting up an on-line communication withsaid supervising site. Likewise, the process for the on-line purchase orthe process for activating the license, launched by the softwarecomponent when it is executed in said equipment, can comprise setting upan on-line communication with said supervising site. The processaccording to the invention can also comprise setting up an on-linecommunication between the vendor site and said supervising site, as wellas setting up an on-line communication between the licensing site andsaid supervising site.

The invention also relates to the software component used in thedescribed process, which is an essential element for implementing saidprocess according to the invention.

These together with other aspects and advantages which will besubsequently apparent, reside in the details of construction andoperation as more fully hereinafter described and claimed, referencebeing had to the accompanying drawings forming a part hereof, whereinlike numerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for the on-line sale of softwareproducts use licenses and corresponding processes, according to theembodiments of the invention;

FIG. 2 is a flow chart of implementing a software component, accordingto an embodiment of the invention;

FIG. 3 is a flow chart of purchasing a use license, implemented by thesoftware component, according to an embodiment of the invention; and

FIG. 4 is a flow chart of purchasing and activating a use license,implemented by the software component, according to an embodiment of theinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows the basic process of a new method for the on-line sale ofsoftware product use licenses, according to an embodiment of theinvention, including embodiment variants.

In this example, the data network in which the process is installed isthe Internet. The system is made up of a plurality of manufacturingcompanies each having a licensing website, a plurality of distributioncompanies each having a vendor website where a software product 12 ofthe manufacturing companies are offered, and a plurality of computersconnected to Internet forming potential acquisition sites for theon-line acquisition of software products offered by the vendor sites.The invention also provides the possibility that the acquisition sitesare hosting servers which acquire and install the software product 12 tothen later grant rental licenses to a plurality of users having accessto said server.

The software product(s) (SOFT) 12 are typically computer programs, beingable to be entire programs, an installation program which installs acomputer program or downloads the installation files from a computerprogram, upgrades or updates of programs that are already installed,etc. These software products 12 shall hereinafter be genericallyreferred to as programs 12.

The manufacturing companies adhering to the online sale of softwareproduct use license system (hereinafter referred to as system) in orderto be able to sell their programs incorporate with their program 12 asoftware component (COMP) 14 that is specific for the system. Thesoftware component 14 operation can be identical for all ofmanufacturing companies. To distinguish between different licensingand/or vendor sites, modifiable properties of the component 14 that canbe modified during programming are used. The software component 14 shallhereinafter simply be referred to as component 14.

The component 14 refers to the encapsulated group of classes andprocesses with their corresponding properties, which allows by interfaceor integration thereof in a third party application and within theexecution environment of said application, the execution of certainfunctionalities which are predefined in the component. It can bepresented in the form of an executable file or dynamic library which isincluded or invoked from a third party application, during the design ofsaid application. According to an aspect of the embodiment, componentincorporation refers to interfacing and/or integrating. The ways ofincluding a component within an application may vary according to theprogrammer or the environment in which the application is programmed,the following ways of doing so being the most common examples:

-   -   Including the component from a graphic menu. The programmer        drags the component (graphic representation thereof) from the        toolbox of the programming environment and inserts the component        in the form of the application. From that moment on, the        programmer has access to the component properties and can modify        them and/or invoke the methods that have been described in the        component.    -   Including the component from source code. The programmer        includes the code lines necessary for invoking the component        (whether it is in library or executable form) within the source        code block belonging to a form of the application. From that        moment on the programmer has access to the component properties        and can modify them and/or invoke the methods which have been        described in the component.

One skilled in the art of programming can implement the processes ofincluding and using the component with a program, therefore it is notconsidered necessary to further describe them.

The component interacts with the program, for example, by a series offunctions or methods. In this example, the two most important methods,which will be described below, are the method which allows carrying outthe purchase of a license on-line (FIG. 1, reference 302) and the methodwhich allows activating a license (FIG. 1, reference 601).

During the purchasing process, the component shows a series of displays(graphical interface) for selecting the type of use license which isdesired to be acquired and/or introducing the data needed to purchasethe license.

The use license which the user purchases can be of several types. Forexample, it can be an indefinite license giving the purchaser the rightto use the program for an indefinite time period, or a temporary licenseallowing use of the program for a limited time period. The use licensealso may or may not include the right for the user to update the programwith the new versions thereof launched in the future. Therefore, forexample, a temporary use license may allow the use of the program forone year, together with the new program updates that come out duringthat same year.

The system is preferably supervised by a single supervising sitecontrolled by a supervising entity. Although the system embodiments arenot limited to such a configuration and a plurality of supervising sitescan be provided. The manufacturing companies which adhere to the systemrequest the supervising site to register their licensing site, identifythe programs which they wish to sell on-line and define the conditionfor the sale thereof. The distribution companies that wish to offer ontheir sites the programs of the manufacturing companies request in thesupervisor site to register their vendor site. A licensing site and avendor site can agree, in the supervising site, on the conditions of thesale of a program, for example, the sale price and the part that willcorrespond to each of them. According to an embodiment, the supervisingsite provides the component to the licensing sites so that the componentcan be incorporated with the programs. The vendor sites can obtain theprograms directly from each licensing site, or through the supervisingsite (as the case may be), and host the programs for downloading on-lineby the purchasers.

In addition to the component supplied to the licensing sites so that thecomponent can be incorporated with their programs, the supervising sitemay also provide specific applications which are installed in thelicensing sites and in the vendor sites for implementing the differentcommunications of the sale process, which will be described below. Theseapplications are not described in detail, as a person skilled in the artwould have no difficulty in carrying the communications.

The incorporation of a single supervising site in the system isadvantageous because it offers system reliability insurance to thedifferent participants in the sale process. However, the system may alsowork without the intervention of a supervising site.

FIG. 1 is a block diagram of a system for the on-line sale of softwareproducts use licenses and corresponding processes, according to theembodiments of the invention. The user operates from a computer 40having a communication interface 10 for communicating with Internet anda storage containing a local license database 41. In this example, thecommunication interface 10 of the computer 40 itself form theacquisition site from which a program SOFT is acquired on-line and thecomputer 40 forms the equipment where the program SOFT will be executed.However, process according to the invention is also applied to the casein which the program SOFT is acquired on-line operating from onecomputer and then said program SOFT is installed and executed in anothercomputer. The other elements involved in this example are a vendor site20, a licensing site 30 and a supervising site 50, which as mentionedabove is optional, each of them provided with a main webpage,respectively 22, 32, 52, and a database, respectively 21, 31, 51.

The user sets up communication with the vendor site 20 from theacquisition site 10. This communication can be direct communication 101or indirect communication 901 through the supervising site 50. In thelatter case, the supervising site 50 deals with authenticating theidentity of the acquisition site 10 as a user of the system, or it mustregister the user if the user is new, and may also set up acommunication 802 with the vendor site 20. The user chooses a programSOFT offered on the vendor site 20 and downloads the program SOFT intothe acquisition site 10 during direct communication 101. Identifyingdata IDV of the vendor site 20, for example, including the URL addressof the vendor site 20, are transmitted along with the download. Thetransmission of this identifying data IDV can be done in different ways.

Preferably, the program SOFT is contained in a single downloadable fileand the data IDV are included as metadata of this file. The inclusion ofthese data IDV as metadata of the downloadable file is usually done oneach vendor site, before the download or during the download. Themetadata of a file are data containing formal information of the file,such as the name, size, file type, modification date, owner, etc. Forexample, in the MICROSOFT WINDOWS environment, these metadata arevisible from the File>Document Properties menu in the graphicalinterface of WINDOWS applications. The location containing thesemetadata in the file has several fields which are currently free or canbe free, and which are used by the process according to the embodimentsof the invention for storing the data IDV. It is also possible to definenew properties for a file, for example, by using the MICROSOFTDSOFile.dll library. When this preferred solution is used, the data IDVare read by the component COMP as metadata of the file containing theprogram SOFT, as shown in 201 in FIG. 1.

An alternative solution for transmitting the data IDV includes storingthem in an independent file that is downloaded together with the programSOFT. In this case, said independent file is installed in the equipment40 together with the program SOFT and the data IDV are read by thecomponent COMP in said independent file, as is shown in 202 in FIG. 1.

Another alternative solution includes the vendor site 20 providing theuser with a code IDV, for example, by an on-screen display or by sendingan e-mail, during the program SOFT downloading process, and the userthen furnishes said code IDV to component COMP at the request of thelatter, as is shown in 203 in FIG. 1.

If the user downloads a program SOFT of the type not having a trialperiod, the user purchases the program SOFT by an on-line payment P onthe vendor site 20, during the communication 101, and in exchangereceives a purchase receipt R containing, either explicitly or byreference, identifying data of the vendor site 20 and information on thetype of license acquired. Therefore, both the IDV, for example,containing the URL address of the vendor site 20, and the purchasereceipt R have been transmitted in this case from the vendor site 20 tothe acquisition site 10. The transmission of the purchase receipt R canbe done in the form of an independent file downloaded together with theprogram SOFT and it is then read by the component COMP, as is shown in301 in FIG. 1, or by a code furnished to the user, for example, by anon-screen display or by sending an e-mail, which is then furnished tothe component COMP at the request of the latter, as is shown in 303 inFIG. 1.

If the user downloads a program SOFT of the demonstration version type,which is operative for only the trial period, then the purchase P is notmade during the communication 101. In this case there is no purchasereceipt R; only the data IDV, for example, containing the URL address ofthe vendor site 20, are transmitted from the vendor site to theacquisition site 10.

When the program SOFT is executed in the computer 40, component COMP isexecuted performing the actions shown in FIG. 2. First, 2 a verifies ifin the local license database 41 there is a use license for the programSOFT. If the license exists, 2 b verifies if it is valid. If it isvalid, 2 c authorizes the use of the program. If it is not valid, 2 dproposes a connection with the vendor site 20 to purchase a license. Thecomponent COMP locally accesses the identifying data IDV of the vendorsite 20, which for example includes the URL address of the vendor site,by one of the processes 201, 202 or 203 explained above. If the useragrees, 2 e launches the process for purchasing a license describedbelow and shown in FIG. 3. If, at 2 a, the license does not exist, 2 fverifies if the purchase receipt R exists, which is accessed locally byone of the processes 301 or 303 explained above. If the purchase receiptR exists, 2 g launches the process for obtaining and activating thelicense described below and shown in FIG. 4. If the purchase receipt Rdoes not exist, 2 h evaluates if a demonstration period for the programSOFT has expired. If the demonstration period has expired, 2 d proposesa connection with the vendor site 20 to purchase a license, as describedin the foregoing.

The process for purchasing a use license according to an embodiment ofthe invention is shown schematically in FIG. 3. In this process, thecomponent COMP carries out the following basic actions. First, 3 alocally accesses the data IDV to obtain, for example, the URL of thevendor site 20, by one of the processes 201, 202 or 203 explained above.Then, 3 b sets up a communication 304 (902, 801 as the case may be) withthe licensing site 30 and transmits the data IDV to the licensing site30. The licensing site 30 checks that the vendor site 20 correspondingto the data IDV is authorized to sell the use license or authenticatesthe vendor site identifiers provided by the component (COMP) and, if itis authorized, returns a purchase authorization to the component COMP,after which 3 c the component COMP sets up a communication 302 with thevendor site 20 and notifies the vendor site 20 that the component COMPwishes to initiate a process for purchasing a license. During thiscommunication 302, the user can intervene through the graphicalinterface of the component COMP and choose the type of license mostsuited to the purchaser. Then, 3 d chooses the type of license thecomponent COMP wishes to purchase and 3 e makes a purchase by an on-linepayment P, in exchange receiving at 3 f the purchase receipt R. In thisexample, the component COMP itself sets up the communication 302 withthe vendor site 20. As an alternative, it can be provided that thecomponent COMP shows in the graphical user interface a link to the URLaddress of the vendor site 20 and allows the user to set up thecommunication 302 through the browser of the purchaser's computer 40.Optionally, instead of setting up direct communication 302 with thevendor site 20, the component COMP can do this by indirect communication902 with the supervising site 50 in communication with the vendor site20 via the setup communication 802.

The process for obtaining and activating the license according to anembodiment of the invention is schematically shown in FIG. 4. In thisprocess, the component COMP carries out the following basic actions.First, 4 a obtains the purchase receipt R, which is accessed locally byone of the processes 301 or 303 explained above. The component COMP alsolocally access 4 b hardware identifying data IDHW in the computer 40.These data IDHW are, for example, the serial number of the hard drivewhere the program SOFT is installed, which is read by the component COMPby the process 501 indicated in FIG. 1. The component COMP also obtainsthe identifying data of the licensing site IDL, for example, the URLaddress of the licensing site, reading the IDL by the process 401indicated in FIG. 1. According to an aspect of the embodiments, the dataIDL is incorporated in the component COMP itself. Then, 4 d sets up acommunication 601 with the licensing site 30 and notifies the licensingsite that the component COMP wishes to initiate a license activationsession. In the communication 601, the component COMP at 4 e sends thehardware identifying data IDHW and the purchase receipt R and inexchange receives at 4 f a license file LF including the hardwareidentifying data IDHW, such that the license file LF will only be validfor the use of the program SOFT in said computer 40, and an electronicsignature SG done with the private key owned by the licensing site 30.The component COMP owns the electronic signature public key and verifiesat 4 g such signature. If the electronic signature SG is correct, at 4 hthe component COMP adds the license file LF to the license database 41,where the component COMP stores the information of the differentprocesses for purchasing and activating licenses in which it has beeninvolved. If the electronic signature SG is not correct, at 4 i thelicense file LF is rejected.

Optionally, instead of setting up direct communication 601 with thelicensing site 30, the component COMP may do so by indirectcommunication 902 with the supervising site 50, which in turn sets upcommunications 801, 802 with the licensing site 30 and with the vendorsite 20, which can also communicate with one another. All this ispossible due to the fact that the component COMP knows the identifyingdata of the supervising site, for example, a URL address of thesupervising site 50, and is able to provide the identifying data of thevendor and licensing sites, for example, the URL addresses of thelicensing site 30 and of the vendor site 20, contained respectively inthe data IDL and IDV which the component COMP accesses locally.

It can also optionally be provided to set up on-line communication 701between the vendor site 20 and the licensing site 30, during which theyexchange information relating to the acquisition of the software productSOFT. For example, this on-line communication 701 allows the licensingsite 30 to know that the software product SOFT has been downloadedand/or paid for from a specific and authorized vendor site 20 before thepurchaser, through the software component COMP, makes contact with saidlicensing site 30 to activate a use license. When a use license ofsoftware product SOFT has been purchased in an authorized vendor site20, in said on-line communication 701 the vendor site 20 sends a copy ofthe purchase receipt R to the licensing site 30.

The embodiments have been described with respect to a process, includingan apparatus and computer readable medium thereof, of on-line sale of asoftware product use license, by:

-   -   offering online, by a plurality of vendor sites, a software        product to be downloaded on-line according to respective online        downloading processes;    -   selling, or offering for purchase online, a use license for said        software product offered by one of said vendor sites and        downloaded on-line; and    -   activating said purchased use license on-line by a licensing        site different from said vendor sites.

The embodiments also comprise a software component as a use licenseactivator for carrying out said process, including an apparatus and acomputer readable medium thereof, by incorporating the softwarecomponent with the software product; executing by an equipment saidsoftware component together with said software product for managing theactivating a purchased use license for said software product by thelicensing site; and associating a vendor site identifier to each of saidon-line downloading processes of the software product by the vendorsites, wherein the executing software component locally accesses saidvendor site identifier, locally accesses identifying data of thelicensing site, and launches a process for managing the activating saidpurchased use license for the software product based upon the vendorsite identifier and the identifying data of the licensing site.According to an aspect of the embodiments, the IDV and IDL can be anyidentifying information uniquely identifying a vendor site 20 and alicensing web site 30, respectively, and can be generated or provided bythe vendor site 20, the licensing web site 30, the software product(SOFT) 12, the component (COMP) 14, or any combinations thereof.

The described examples of preferred embodiments can be implemented insoftware (as stored or encoded on any known computer readable media,such as, without limitation, a compact disk, a Digital Versatile Disc(DVD), memory, a carrier wave or electro-magnetic signal, etc.) and/orin any computing or information processing hardware, for example, aprogrammable computing device. For example, the embodiments can beimplemented in a programmable electronic device that can store,retrieve, output (for example, display) and process data). For example,the embodiments can be implemented in any type of programmable computingapparatus, such as (without limitation) a personal computer, a personaldigital assistant (PDA), a server and/or a client computer in case of aclient-server network architecture, or networked computers in adistributed network architecture.

The many features and advantages of the embodiments are apparent fromthe detailed specification and, thus, it is intended by the appendedclaims to cover all such features and advantages of the embodiments thatfall within the true spirit and scope thereof. Further, since numerousmodifications and changes will readily occur to those skilled in theart, it is not desired to limit the inventive embodiments to the exactconstruction and operation illustrated and described, and accordinglyall suitable modifications and equivalents may be resorted to, fallingwithin the scope thereof.

1-42. (canceled)
 43. A method comprising: electronically receiving in asecond system from a first system a software module and incorporatingthe software module into a software product during the design time ofthe software product in the second system, the first system differentfrom a system of the software product developer, the software modulecomprising executable instructions that when executed in a firstelectronic device assist in establishing electronic communicationbetween the first electronic device and a third system for the purposeof initiating a purchase of the software product, or upgrades thereof,by the first electronic device from the third system, electronicallytransmitting from the second system the software product incorporatingthe executable instructions to the first system or to the third system,electronically transmitting from the second system to the first systemor to the third system sales information related to the softwareproduct; and electronically receiving in the second system from one ormore of the first electronic device, the first system and the thirdsystem, first data related with a purchase of the software product, orupgrades thereof, by the first electronic device from the third system.44. A method according to claim 43, further comprising validating in thesecond system the first data related with the purchase and subsequentlyelectronically transmitting from the second system to the firstelectronic device second data useable for enabling the use of thesoftware product in the first electronic device or in a secondelectronic device.
 45. A method according to claim 43, wherein thesecond system is a system of the software product developer.
 46. Amethod according to claim 43, wherein the second data is readable by theexecutable instructions.
 47. A method according to claim 43, furthercomprising electronically receiving in the second system from the firstelectronic device identifying data of the third system.
 48. A methodaccording to claim 43, wherein the software product produces one or moregraphical interfaces in the first electronic device useable to initiatethe purchase of different versions of the software product, or upgradesthereof.
 49. A method according to claim 43, wherein the executableinstructions when executed in the first electronic device assist inproducing one or more graphical interfaces in the first electronicdevice useable to initiate the purchase of different versions of thesoftware product, or upgrades thereof.
 50. A method according to claim49, wherein the one or more graphical interfaces enable a user of thefirst electronic device to select between different purchase options.51. A method according to claim 50, wherein the purchase options includea right to use the software product, or upgrades thereof, in the firstelectronic device for an indefinite period of time.
 52. A methodaccording to claim 50, wherein the purchase options include a right touse the software product, or upgrades thereof, in the first electronicdevice for a definite period of time.
 53. A method according to claim50, wherein the purchase options include a right to install and executethe software product, or upgrades thereof, in a second electronic devicedifferent than the first electronic device.
 54. A method according toclaim 43, wherein the second system is identifiable by a URL address.55. A method according to claim 43, wherein the second system comprisesa website.
 56. A method according to claim 43, wherein the second systemelectronically transmits the software product incorporating theexecutable instructions to the third system via the first system.
 57. Amethod according to claim 43, further comprising the second systemreceiving from the first system one or more applications, the one ormore applications when installed in the second system being useable toimplement electronic communications related to the purchase of thesoftware product, or upgrades thereof.
 58. A method according to claim43, wherein the software module comprises one or more of a class, a setof classes, a set of functions, a dynamic library and source code.